🤖 fix: prevent layout flash in New Workspace page #1895
+11
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Fixes a layout flash issue in the New Workspace page, particularly noticeable on SSH runtime, where auxiliary fields (branch selector, host input) would appear after the initial render.
Background
Two issues were causing layout shifts:
branches = []) and appeared after the asynclistBranchesAPI completeduseEffectinuseDraftWorkspaceSettingswas firing on initial mount becauseprevMode = null !== selectedRuntime.mode, causing unnecessary state updatesImplementation
useDraftWorkspaceSettings.ts: AddedprevMode !== nullcheck to skip the "restore remembered config" effect on initial mount. TheuseStateinitializer already handles correct initial values.CreationControls.tsx: Added a loading placeholder skeleton that reserves space while branches load. Shows an animated pulse effect during loading state.Generated with
mux• Model:anthropic:claude-opus-4-5• Thinking:high• Cost:$2.47